package org.hcyspartnoc.luoxin.service.searchtopic;

import cn.hutool.db.PageResult;
import org.hcyspartnoc.luoxin.common.exception.common.CommonUtilsException;
import org.hcyspartnoc.luoxin.common.exception.searchtopic.QuestionException;
import org.hcyspartnoc.luoxin.pojo.dto.searchtopic.*;
import org.hcyspartnoc.luoxin.pojo.vo.searchtopic.QuestionTypesVO;
import org.hcyspartnoc.luoxin.pojo.vo.searchtopic.QuestionVo;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public interface QuestionService{
    void insertQuestion(QuestionDto questionDto) throws QuestionException;

    void updateQuestion(QuestionUpdateDto questionUpdateDto) throws QuestionException;

    List<QuestionVo> queryQuestion(QuestionSearchDto questionSearchDto);

    PageResult queryPageQuestion(QuestionPageDto questionPageDto);

    List<QuestionTypesVO> getQuestionTypes();

    void insertQuestionsByExcel(QuestionFileDto questionFileDto) throws QuestionException;

    void insertQuestionsByWord(QuestionFileDto questionFileDto) throws QuestionException, CommonUtilsException;

    QuestionVo getQuestionDetails(Long questionId) throws QuestionException;

    void deleteQuestion(Long questionId) throws QuestionException;
}
